package com.hy.mydesktop.client.component.factory;

import com.extjs.gxt.ui.client.widget.layout.TableData;
import com.hy.mydesktop.client.component.meta.TableDataModelEnum;
import com.hy.mydesktop.shared.persistence.domain.gxt.GxtComponentMetaNodeModel;

/**
 * 
 * <ul>
 * <li>开发作者：冬超</li>
 * <li>设计日期：2010-8-31；时间：下午03:27:56</li>
 * <li>类型名称：TableDataFactory</li>
 * <li>设计目的：</li>
 * </ul>
 * <ul>
 * <b>修订编号：</b>
 * <li>修订日期：</li>
 * <li>修订作者：</li>
 * <li>修订原因：</li>
 * <li>修订内容：</li>
 * </ul>
 */
public class TableDataFactory {
	public static TableData createTableData(
			GxtComponentMetaNodeModel gxtComponentMetaNodeModel) {

		return configureTableData(gxtComponentMetaNodeModel);

	}

	private static TableData configureTableData(
			GxtComponentMetaNodeModel gxtComponentMetaNodeModel) {

		TableData tableData = createDefaultTableData();
		
		if (gxtComponentMetaNodeModel.get(TableDataModelEnum.COLSPAN.name().toLowerCase())!=null) {
			
			Integer colspan = (Integer)gxtComponentMetaNodeModel.get(TableDataModelEnum.COLSPAN.name().toLowerCase());
			tableData.setColspan(colspan);
			
		}
		if (gxtComponentMetaNodeModel.get(TableDataModelEnum.HIGHT.name().toLowerCase())!=null) {
			
			String height=(String)gxtComponentMetaNodeModel.get(TableDataModelEnum.HIGHT.name().toLowerCase());
			tableData.setHeight(height);
		
		}
		if (gxtComponentMetaNodeModel.get(TableDataModelEnum.MARGIN.name().toLowerCase())!=null) {
			
			Integer margin=(Integer)gxtComponentMetaNodeModel.get(TableDataModelEnum.MARGIN.name().toLowerCase());
			tableData.setMargin(margin);
		
		}
		if (gxtComponentMetaNodeModel.get(TableDataModelEnum.PADDING.name().toLowerCase())!=null) {
			
			Integer padding=(Integer)gxtComponentMetaNodeModel.get(TableDataModelEnum.PADDING.name().toLowerCase());
			tableData.setPadding(padding);
		
		}
		if (gxtComponentMetaNodeModel.get(TableDataModelEnum.ROWSPAN.name().toLowerCase())!=null) {
			
			Integer rowspan=(Integer)gxtComponentMetaNodeModel.get(TableDataModelEnum.ROWSPAN.name().toLowerCase());
			tableData.setRowspan(rowspan);
		
		}
		if (gxtComponentMetaNodeModel.get(TableDataModelEnum.WIDTH.name().toLowerCase())!=null) {
			
			String width=(String)gxtComponentMetaNodeModel.get(TableDataModelEnum.WIDTH.name().toLowerCase());
			tableData.setWidth(width);
		
		}
		return tableData;
	}

	private static TableData createDefaultTableData() {

		TableData tableData = new TableData();

		return tableData;
	}
}
